package equipamento;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

@Stateless(name = "equipamentoBean")
public class EquipamentoBean implements Equipamento
{
	@PersistenceContext(unitName = "sqlPU")
	private EntityManager em;
	private List<EntidadeEquipamento> equipamentos = new ArrayList<EntidadeEquipamento>();
	private EntidadeEquipamento equipamento = new EntidadeEquipamento();
	
	@SuppressWarnings("unchecked")
	@Override
	public List<EntidadeEquipamento> buscaEquipamento() {
		Query qm = em.createQuery("from EntidadeEquipamento");
		equipamentos = (List<EntidadeEquipamento>)qm.getResultList();
		return equipamentos;
	}
	public void gravar(EntidadeEquipamento equipamento)
	{
		em.persist(equipamento);
		em.flush();
		this.equipamento = new EntidadeEquipamento();
	}
	@Override
	public EntidadeEquipamento buscaEquicod(int codigo) {
		Query qm = em.createQuery("from EntidadeEquipamento where codigo = :codigo");
		qm.setParameter("codigo", codigo);
		equipamento = (EntidadeEquipamento)qm.getSingleResult();
		return equipamento;
	}
	@Override
	public void AlterarEquipamento(EntidadeEquipamento equipamento) {
		em.merge(equipamento);
		em.flush();
		this.equipamento = new EntidadeEquipamento();
	}
	@Override
	public int getcodigo() {
		return equipamento.getCodigo();
	}
	@Override
	public void removeEquipamento(EntidadeEquipamento equipamento) {
		Object obj = em.merge(equipamento);
		em.remove(obj);
		em.flush();
	}
}
